﻿using HK.Core.Common.Protocol;
using HK.Core.Common.Protocol.Data;

namespace HK.Core.Encryption.Protocol
{
    /// <summary>
    /// Token算法
    /// </summary>
    public enum TokenAlgorithms
    {
        Hs256,
        Hs384,
        Hs512
    }

    /// <summary>
    /// 接口 : 加密协议
    /// </summary>
    public interface IEncrypt : IJsonData { }
    
    /// <summary>
    /// 接口 : Token
    /// </summary>
    public interface IToken : IEncrypt
    {
        /// <summary>
        /// 有效负载Tag
        /// </summary>
        string PayloadTag { get; }
    }

    /// <summary>
    /// 接口 : 二进制加密协议
    /// </summary>
    public interface IBinaryEncrypt : IEncrypt { }
}